软考真题
第5题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】
某快餐厅主要制作井出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员(Waiter)调度厨师制作套餐。现采用生成器(Builder) 模式实现制作过程,得到如图5-1所示的类图。



【C++代码】


	#include
	using namespace std;
	
	class Pizza {
	private: string parts;
	public:
		void setParts(string parts)
		{
			this->parts = parts;
		}
	
		string getParts()
		{
			return(parts);
		}
	};
	class PizzaBuilder {
	protected: Pizza* pizza;
	public:
		Pizza* getPizza()
		{
			retum pizza;
		}
	
		void createNewPizza()
		{
			pizza = new Pizza();
		}
	
		(1);
	}
	class HawaiianPizzaBuilder : public PizzaBuilder {
	public:
		void buildParts()
		{
			pizza->setParts("cross +mild + ham&pineapple");
		}
	};
	class SpicyPizzaBuider : public PizzaBuilder {
	public:
		void buildParts()
		{
			pizza->setParts("pan baked +hot + ham&pineapple");
		}
	}
	class Waiter{
	private:
		PizzaBuilder * pizzaBuilder;
	public:
		void setPizzaBuilder(PizzaBuilder* pizzaBuilder) /*设置构建器*/
		{
			(2)
		}
	
		Pizza* getPizza()
		{
			return(pizzaBuilder->getPizza());
		}
	
		void construct() /*构建*/
		{
			pizzaBuilder->createNewPizza();
			(3)
		}
	};
	
	int main()
	{
		Waiter		*waiter = new Waiter();
		PizzaBuilder	*hawaiian_pizzabuilder = new HawaiianPizzaBuilder()
		(4);
		(5);
		cout << "pizza: " < getPizza()->getParts() << end1;
	}
	


程序的输出结果为:

pizza: cross+mild+ham&pineapple
【问题:5.1】请填写(1)(2)(3)(4)(5)
2017年 上半年 下午试卷 案例
正确答案:
你的答案:
请先在App中激活(应用市场搜“软考真题”)
知识点:
试卷:
2017年 上半年 下午试卷 案例

笔记

过儿

请先在App中激活(应用市场搜“软考真题”)

2020-08-18


万般皆下品

请先在App中激活(应用市场搜“软考真题”)

2021-08-22


答题卡
加油
纠错
得分:0